package com.middlegroup.subjectpay.service;

import com.middlegroup.common.model.SubjectpayQueryRequest;
import com.middlegroup.common.model.TransResult;
import com.middlegroup.subjectpay.dto.BindCardDto;
import com.middlegroup.subjectpay.dto.TransRequest;
import com.middlegroup.subjectpay.service.kjtpay.KjtpayDfCallBackRequest;
import com.middlegroup.subjectpay.service.kjtpay.KjtpayRepayCallBackRequest;

/**
 * Created by pc on 2019/1/14.
 */
public interface KjtpayService {


    /**快捷通支付单笔代付
     * @param request
     * @return
     */
    TransResult df(TransRequest request);

    /**快捷通支付单笔代付查询
     * @param request
     * @return
     */
    TransResult dfQuery(SubjectpayQueryRequest request);

    /**快捷通单笔代付回调
     * @param request
     * @return
     */
    String dfNotify(KjtpayDfCallBackRequest request);





    /**快捷通协议支付绑卡申请
     * @param bindCardDto
     * @return
     */
    TransResult bindcardApply(BindCardDto bindCardDto);

    /**快捷通协议支付绑卡确认
     * @param bindCardDto
     * @return
     */
    TransResult bindcardConfirm(BindCardDto bindCardDto);

    /**快捷通协议支付绑卡重发短信验证码
     * @param bindCardDto
     * @return
     */
    TransResult reSendSms(BindCardDto bindCardDto);

    /**快捷通协议支付扣款接口
     * @param transRequest
     * @return
     */
    TransResult protocolPay(TransRequest transRequest);

    /**快捷通协议支付查询接口
     * @param request
     * @return
     */
    TransResult protocolPayQuery(SubjectpayQueryRequest request);

    /**快捷通协议支付回调
     * @param request
     * @return
     */
    String protocolPayNotify(KjtpayRepayCallBackRequest request);


}
